package com.wicket.okrframework.biz.service.dto.req;

import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddTargetDetailsReqDto
 * @使用场景
 */
@Data
public class AddTargetDetailsReqDto extends BaseDto implements Serializable {

  /**
   * 类型编码 TARGET:目标 DUTY:职责
   */
  @NotNull(message = "类型编码不能为空")
  @ApiModelProperty("类型编码")
  private String detailType;

  /**
   * 明细内容
   */
  @NotNull(message = "明细内容不能为空")
  @ApiModelProperty("明细内容")
  private String content;

  /**
   * 排序
   */
  @NotNull(message = "排序不能为空")
  @ApiModelProperty("排序")
  private Long orderNumber;

  /**
   * 所属对象实例类型 DEPARTMENT:部门 STATION:岗位 POSITION:职务
   */
  @NotNull(message = "所属对象实例类型不能为空")
  @ApiModelProperty("所属对象实例类型")
  private String typeCode;

  /**
   * 所属对象实例ID
   */
  @NotNull(message = "所属对象实例ID不能为空")
  @ApiModelProperty("所属对象实例ID")
  private String entityId;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 组织ID
   */
  @ApiModelProperty("组织ID")
  private String organizationId;

}
